home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 2002 November / SGI IRIX Base Documentation 2002 November.iso / usr / share / catman / p_man / cat3 / c++ / istream.z / istream
Encoding:
Text File  |  2002-10-03  |  23.6 KB  |  326 lines

  1. ISTREAM(3C)                                            Last changed: 1-7-99
  2.  
  3.  
  4. NNAAMMEE
  5.      iissttrreeaamm - Formatted and unformatted input
  6.  
  7. SSYYNNOOPPSSIISS
  8.      ##iinncclluuddee <<iioossttrreeaamm..hh>>
  9.      ttyyppeeddeeff lloonngg ssttrreeaammooffff,, ssttrreeaammppooss;;
  10.      ccllaassss iiooss {{
  11.      ppuubblliicc::
  12.           eennuumm sseeeekk__ddiirr {{ bbeegg,, ccuurr,, eenndd }};;
  13.           eennuumm ooppeenn__mmooddee {{ iinn,, oouutt,, aattee,, aapppp,, ttrruunncc,, nnooccrreeaattee,, nnoorreeppllaaccee }}
  14.      ;;
  15.           //** ffllaaggss ffoorr ccoonnttrroolllliinngg ffoorrmmaatt **//
  16.           eennuumm {{ sskkiippwwss==0011,,
  17.                  lleefftt==0022,,  rriigghhtt==0044,, iinntteerrnnaall==001100,,
  18.                  ddeecc==002200,, oocctt==004400,, hheexx==00110000,,
  19.                  sshhoowwbbaassee==00220000,, sshhoowwppooiinntt==00440000,, uuppppeerrccaassee==0011000000,,
  20.      sshhoowwppooss==0022000000,,
  21.                  sscciieennttiiffiicc==0044000000,, ffiixxeedd==001100000000,,
  22.                  uunniittbbuuff==002200000000,, ssttddiioo==004400000000 }};;
  23.           //// aanndd lloottss ooff ootthheerr ssttuuffff,, sseeee iiooss((33CC)) ......
  24.      }} ;;
  25.  
  26.      ccllaassss iissttrreeaamm :: ppuubblliicc iiooss {{
  27.      ppuubblliicc::
  28.                iissttrreeaamm((ssttrreeaammbbuuff**));;
  29.           iinntt  ggccoouunntt(());;
  30.           iissttrreeaamm&&  ggeett((cchhaarr** ppttrr,, iinntt lleenn,, cchhaarr ddeelliimm==''\\nn''));;
  31.           iissttrreeaamm&&  ggeett((uunnssiiggnneedd cchhaarr** ppttrr,,iinntt lleenn,, cchhaarr ddeelliimm==''\\nn''));;
  32.  
  33.           iissttrreeaamm&&  ggeett((uunnssiiggnneedd cchhaarr&&));;
  34.           iissttrreeaamm&&  ggeett((cchhaarr&&));;
  35.           iissttrreeaamm&&  ggeett((ssttrreeaammbbuuff&& ssbb,, cchhaarr ddeelliimm ==''\\nn''));;
  36.           iinntt  ggeett(());;
  37.           iissttrreeaamm&&  ggeettlliinnee((cchhaarr** ppttrr,, iinntt lleenn,, cchhaarr ddeelliimm==''\\nn''));;
  38.           iissttrreeaamm&&  ggeettlliinnee((uunnssiiggnneedd cchhaarr** ppttrr,, iinntt lleenn,, cchhaarr ddeelliimm==''\\nn''));;
  39.           iissttrreeaamm&&  iiggnnoorree((iinntt lleenn==11,,iinntt ddeelliimm==EEOOFF));;
  40.           iinntt  iippffxx((iinntt nneeeedd==00));;
  41.           iinntt  ppeeeekk(());;
  42.           iissttrreeaamm&&  ppuuttbbaacckk((cchhaarr));;
  43.           iissttrreeaamm&&  rreeaadd((cchhaarr** ss,, iinntt nn));;
  44.           iissttrreeaamm&&  rreeaadd((uunnssiiggnneedd cchhaarr** ss,, iinntt nn));;
  45.           iissttrreeaamm&&  sseeeekkgg((ssttrreeaammppooss));;
  46.           iissttrreeaamm&&  sseeeekkgg((ssttrreeaammooffff,, sseeeekk__ddiirr));;
  47.           iinntt  ssyynncc(());;
  48.           ssttrreeaammppooss tteellllgg(());;
  49.  
  50.           iissttrreeaamm&&  ooppeerraattoorr>>>>((cchhaarr**));;
  51.           iissttrreeaamm&&  ooppeerraattoorr>>>>((cchhaarr&&));;
  52.           iissttrreeaamm&&  ooppeerraattoorr>>>>((sshhoorrtt&&));;
  53.           iissttrreeaamm&&  ooppeerraattoorr>>>>((iinntt&&));;
  54.           iissttrreeaamm&&  ooppeerraattoorr>>>>((lloonngg&&));;
  55.           iissttrreeaamm&&  ooppeerraattoorr>>>>((ffllooaatt&&));;
  56.           iissttrreeaamm&&  ooppeerraattoorr>>>>((ddoouubbllee&&));;
  57.           iissttrreeaamm&&  ooppeerraattoorr>>>>((uunnssiiggnneedd cchhaarr**));;
  58.           iissttrreeaamm&&  ooppeerraattoorr>>>>((uunnssiiggnneedd cchhaarr&&));;
  59.           iissttrreeaamm&&  ooppeerraattoorr>>>>((uunnssiiggnneedd sshhoorrtt&&));;
  60.           iissttrreeaamm&&  ooppeerraattoorr>>>>((uunnssiiggnneedd iinntt&&));;
  61.           iissttrreeaamm&&  ooppeerraattoorr>>>>((uunnssiiggnneedd lloonngg&&));;
  62.           iissttrreeaamm&&  ooppeerraattoorr>>>>((ssttrreeaammbbuuff**));;
  63.           iissttrreeaamm&&  ooppeerraattoorr>>>>((iissttrreeaamm&& ((**))((iissttrreeaamm&&))));;
  64.           iissttrreeaamm&&  ooppeerraattoorr>>>>((iiooss&& ((**))((iiooss&&))));;
  65.      }};;
  66.  
  67.      ccllaassss iissttrreeaamm__wwiitthhaassssiiggnn :: ppuubblliicc iissttrreeaamm {{
  68.                iissttrreeaamm__wwiitthhaassssiiggnn(());;
  69.           iissttrreeaamm&&  ooppeerraattoorr==((iissttrreeaamm&&));;
  70.           iissttrreeaamm&&  ooppeerraattoorr==((ssttrreeaammbbuuff**));;
  71.      }};;
  72.  
  73.      eexxtteerrnn iissttrreeaamm__wwiitthhaassssiiggnn cciinn;;
  74.  
  75.      iissttrreeaamm&&  wwss((iissttrreeaamm&&))   ;;
  76.      iiooss&& ddeecc((iiooss&&)) ;;
  77.      iiooss&& hheexx((iiooss&&)) ;;
  78.      iiooss&& oocctt((iiooss&&)) ;;
  79.  
  80. IIMMPPLLEEMMEENNTTAATTIIOONN
  81.      IRIX systems
  82.  
  83. DDEESSCCRRIIPPTTIIOONN
  84.      iissttrreeaamm information supports interpretation of characters fetched from
  85.      an associated ssttrreeaammbbuuff.  These are commonly referred to as input or
  86.      extraction operations.  The description of iissttrreeaamm member functions
  87.      and related functions follows.
  88.  
  89.      The following descriptions assume the following:
  90.  
  91.      * _i_n_s is an iissttrreeaamm.
  92.        _i_n_s_w_a is an iissttrreeaamm__wwiitthhaassssiiggnn.
  93.  
  94.      * _i_n_s_p is a iissttrreeaamm**.
  95.  
  96.      * _c is a cchhaarr&&
  97.  
  98.      * _d_e_l_i_m is a cchhaarr.
  99.  
  100.      * _p_t_r is a cchhaarr** or uunnssiiggnneedd cchhaarr**.
  101.  
  102.      * _s_b is a ssttrreeaammbbuuff&&.
  103.  
  104.      * _i, _n, _l_e_n, _d, and _n_e_e_d are iinntts.
  105.  
  106.      * _p_o_s is a ssttrreeaammppooss.
  107.  
  108.      * _o_f_f is a ssttrreeaammooffff.
  109.  
  110.      * _d_i_r is a sseeeekk__ddiirr.
  111.  
  112.      * _m_a_n_i_p is a function with type iissttrreeaamm&& ((**))((iissttrreeaamm&&)).
  113.  
  114.    CCoonnssttrruuccttoorrss aanndd AAssssiiggnnmmeenntt
  115.      iissttrreeaamm((_s_b))
  116.           Initializes iiooss state variables and associates buffer _s_b with the
  117.           iissttrreeaamm.
  118.  
  119.      iissttrreeaamm__wwiitthhaassssiiggnn(())
  120.           Initialization is not performed.
  121.  
  122.      _i_n_s_w_a==_s_b
  123.           Associates _s_b with _i_n_s_w_a and initializes the entire state of
  124.           _i_n_s_w_a.
  125.  
  126.      _i_n_s_w_a==_i_n_s
  127.           Associates _i_n_s-->>rrddbbuuff(()) _w_i_t_h _i_n_s_w_a _a_n_d _i_n_i_t_i_a_l_i_z_e_s _t_h_e _e_n_t_i_r_e
  128.           _s_t_a_t_e _o_f _i_n_s_w_a.
  129.  
  130.    IInnppuutt PPrreeffiixx FFuunnccttiioonn
  131.      _i == _i_n_s..iippffxx((_n_e_e_d))
  132.           If the error state of _i_n_s is non-zero, zero is returned
  133.           immediately.  If necessary (and if it is non-null), any iiooss
  134.           associated with _i_n_s is flushed (see the description of iiooss::::ttiiee(())
  135.           on the iiooss(3C) man page).  Flushing is considered necessary if
  136.           either _n_e_e_d====00 _o_r _i_f _t_h_e_r_e _a_r_e _f_e_w_e_r _t_h_a_n _n_e_e_d _c_h_a_r_a_c_t_e_r_s
  137.           _i_m_m_e_d_i_a_t_e_l_y _a_v_a_i_l_a_b_l_e.  _I_f iiooss::::sskkiippwwss _i_s _s_e_t _i_n _i_n_s..ffllaaggss(()) _a_n_d
  138.           _n_e_e_d _i_s _z_e_r_o, _t_h_e_n _l_e_a_d_i_n_g _w_h_i_t_e_s_p_a_c_e _c_h_a_r_a_c_t_e_r_s _a_r_e _e_x_t_r_a_c_t_e_d
  139.           _f_r_o_m _i_n_s.  iippffxx(()) _r_e_t_u_r_n_s _z_e_r_o _i_f _a_n _e_r_r_o_r _o_c_c_u_r_s _w_h_i_l_e _s_k_i_p_p_i_n_g
  140.           _w_h_i_t_e_s_p_a_c_e; _o_t_h_e_r_w_i_s_e, _i_t _r_e_t_u_r_n_s _n_o_n-_z_e_r_o.
  141.  
  142.      Formatted input functions call iippffxx((00)), while unformatted input
  143.      functions call iippffxx((11)); see the "Formatted Input Functions
  144.      (Extractors)" subsection.
  145.  
  146.    FFoorrmmaatttteedd IInnppuutt FFuunnccttiioonnss ((EExxttrraaccttoorrss))
  147.      _i_n_s>>>>_x
  148.           Calls iippffxx((00)) and, if that returns non-zero, extracts characters
  149.           from _i_n_s and converts them according to the type of _x.  It stores
  150.           the converted value in _x.  Errors are indicated by setting the
  151.           error state of _i_n_s.  iiooss::::ffaaiillbbiitt means that characters in _i_n_s
  152.           were not a representation of the required type.  iiooss::::bbaaddbbiitt
  153.           indicates that attempts to extract characters failed.  _i_n_s is
  154.           always returned.
  155.  
  156.      The details of conversion depend on the values of format state flags
  157.      and variables of _i_n_s (see iiooss(3C)) and the type of _x.  Extractions
  158.      that use width reset it to 0; otherwise, the extraction operators do
  159.      not change the value of oossttrreeaamm's format state.  Extractors are
  160.      defined for the following types, with conversion rules as follows:
  161.  
  162.      cchhaarr**, uunnssiiggnneedd cchhaarr**
  163.           Characters are stored in the array pointed at by _x until a
  164.           whitespace character is found in _i_n_s.  The terminating whitespace
  165.           is left in _i_n_s.  If _i_n_s..wwiiddtthh(()) _i_s _n_o_n-_z_e_r_o, _i_t _i_s _a_s_s_u_m_e_d _t_o _b_e
  166.           _t_h_e _s_i_z_e _o_f _t_h_e _a_r_r_a_y, _a_n_d _n_o _m_o_r_e _t_h_a_n _i_n_s..wwiiddtthh(())--11 _c_h_a_r_a_c_t_e_r_s
  167.           _a_r_e _e_x_t_r_a_c_t_e_d.  _A _t_e_r_m_i_n_a_t_i_n_g _n_u_l_l _c_h_a_r_a_c_t_e_r (_0) _i_s _a_l_w_a_y_s _s_t_o_r_e_d
  168.           (_e_v_e_n _w_h_e_n _n_o_t_h_i_n_g _e_l_s_e _i_s _d_o_n_e _b_e_c_a_u_s_e _o_f _i_n_s'_s _e_r_r_o_r _s_t_a_t_u_s).
  169.           _i_n_s..wwiiddtthh(()) _i_s _r_e_s_e_t _t_o _0.
  170.  
  171.      cchhaarr&&, uunnssiiggnneedd cchhaarr&&
  172.           A character is extracted and stored in _x.
  173.  
  174.  
  175.           sshhoorrtt&&, uunnssiiggnneedd sshhoorrtt&&,
  176.           iinntt&&, uunnssiiggnneedd iinntt&&,
  177.           lloonngg&&, uunnssiiggnneedd lloonngg&&
  178.  
  179.      Characters are extracted and converted to an integral value according
  180.      to the conversion specified in _i_n_s's format flags.  Converted
  181.      characters are stored in _x.  The first character may be a sign (++ or
  182.      --).  After that, if iiooss::::oocctt, iiooss::::ddeecc, or iiooss::::hheexx is set in
  183.      _i_n_s..ffllaaggss(()), _t_h_e _c_o_n_v_e_r_s_i_o_n _i_s _o_c_t_a_l, _d_e_c_i_m_a_l, _o_r _h_e_x_a_d_e_c_i_m_a_l,
  184.      _r_e_s_p_e_c_t_i_v_e_l_y.  _C_o_n_v_e_r_s_i_o_n _i_s _t_e_r_m_i_n_a_t_e_d _b_y _t_h_e _f_i_r_s_t _n_o_n-_d_i_g_i_t, _w_h_i_c_h
  185.      _i_s _l_e_f_t _i_n _i_n_s.  _O_c_t_a_l _d_i_g_i_t_s _a_r_e _t_h_e _c_h_a_r_a_c_t_e_r_s '_0' _t_o '_7'.  _D_e_c_i_m_a_l
  186.      _d_i_g_i_t_s _a_r_e _t_h_e _o_c_t_a_l _d_i_g_i_t_s _p_l_u_s '_8' _a_n_d '_9'.  _H_e_x_a_d_e_c_i_m_a_l _d_i_g_i_t_s _a_r_e
  187.      _t_h_e _d_e_c_i_m_a_l _d_i_g_i_t_s _p_l_u_s _t_h_e _l_e_t_t_e_r_s '_a' _t_h_r_o_u_g_h '_f' (_i_n _e_i_t_h_e_r _u_p_p_e_r
  188.      _o_r _l_o_w_e_r_c_a_s_e).  _I_f _n_o_n_e _o_f _t_h_e _c_o_n_v_e_r_s_i_o_n _b_a_s_e _f_o_r_m_a_t _f_l_a_g_s _i_s _s_e_t,
  189.      _t_h_e_n _t_h_e _n_u_m_b_e_r _i_s _i_n_t_e_r_p_r_e_t_e_d _a_c_c_o_r_d_i_n_g _t_o _C++ _l_e_x_i_c_a_l _c_o_n_v_e_n_t_i_o_n_s.
  190.      _T_h_a_t _i_s, _i_f _t_h_e _f_i_r_s_t _c_h_a_r_a_c_t_e_r_s (_a_f_t_e_r _t_h_e _o_p_t_i_o_n_a_l _s_i_g_n) _a_r_e 00xx _o_r
  191.      00XX, _a _h_e_x_a_d_e_c_i_m_a_l _c_o_n_v_e_r_s_i_o_n _i_s _p_e_r_f_o_r_m_e_d _o_n _f_o_l_l_o_w_i_n_g _h_e_x_a_d_e_c_i_m_a_l
  192.      _d_i_g_i_t_s.  _I_f _t_h_e _f_i_r_s_t _c_h_a_r_a_c_t_e_r _i_s _a 00, _a_n _o_c_t_a_l _c_o_n_v_e_r_s_i_o_n _i_s
  193.      _p_e_r_f_o_r_m_e_d, _a_n_d _i_n _a_l_l _o_t_h_e_r _c_a_s_e_s, _a _d_e_c_i_m_a_l _c_o_n_v_e_r_s_i_o_n _i_s _p_e_r_f_o_r_m_e_d.
  194.      iiooss::::ffaaiillbbiitt _i_s _s_e_t _i_f _t_h_e_r_e _a_r_e _n_o _d_i_g_i_t_s (_n_o_t _c_o_u_n_t_i_n_g _t_h_e 00 _i_n 00xx
  195.      _o_r 00XX) _d_u_r_i_n_g _h_e_x _c_o_n_v_e_r_s_i_o_n) _a_v_a_i_l_a_b_l_e.
  196.  
  197.      ffllooaatt&&, ddoouubbllee&&
  198.           Converts the characters according to C++ syntax for a float or
  199.           double, and stores the result in _x.  iiooss::::ffaaiillbbiitt is set if there
  200.           are no digits available in _i_n_s or if it does not begin with a
  201.           well formed floating point number.
  202.  
  203.      The type and name (ooppeerraattoorr>>>>) of the extraction operations are chosen
  204.      to give a convenient syntax for sequences of input operations.  The
  205.      operator overloading of C++ permits extraction functions to be
  206.      declared for user-defined classes.  These operations can then be used
  207.      with the same syntax as the member functions described here.
  208.  
  209.      _i_n_s>>>>_s_b
  210.           If iiooss..iippffxx((00)) returns non-zero, extracts characters from iiooss and
  211.           inserts them into _s_b.  Extraction stops when EEOOFF is reached.
  212.           Always returns _i_n_s.
  213.  
  214.    UUnnffoorrmmaatttteedd iinnppuutt ffuunnccttiioonnss::
  215.      These functions call iippffxx((11)) and proceed only if it returns nonzero:
  216.  
  217.           _i_n_s_p==&&_i_n_s..ggeett((_p_t_r,,_l_e_n,,_d_e_l_i_m))
  218.                Extracts characters and stores them in the byte array
  219.                beginning at _p_t_r and extending for _l_e_n bytes.  Extraction
  220.                stops when _d_e_l_i_m is encountered (_d_e_l_i_m is left in _i_n_s and
  221.                not stored), when _i_n_s has no more characters, or when the
  222.                array has only one byte left.  ggeett always stores a
  223.                terminating null, even if it doesn't extract any characters
  224.                from _i_n_s because of its error status.  iiooss::::ffaaiillbbiitt is set
  225.                only if ggeett encounters an end of file before it stores any
  226.                characters.
  227.  
  228.           _i_n_s_p==&&_i_n_s..ggeett((_c))
  229.                Extracts a single character and stores it in _c.
  230.  
  231.           _i_n_s_p==&&_i_n_s..ggeett((_s_b,,_d_e_l_i_m))
  232.                Extracts characters from _i_n_s..rrddbbuuff(()) _a_n_d _s_t_o_r_e_s _t_h_e_m _i_n_t_o
  233.                _s_b.  _I_t _s_t_o_p_s _i_f _i_t _e_n_c_o_u_n_t_e_r_s _e_n_d _o_f _f_i_l_e _o_r _i_f _a _s_t_o_r_e
  234.                _i_n_t_o _s_b _f_a_i_l_s _o_r _i_f _i_t _e_n_c_o_u_n_t_e_r_s _d_e_l_i_m (_w_h_i_c_h _i_t _l_e_a_v_e_s _i_n
  235.                _i_n_s).  iiooss::::ffaaiillbbiitt _i_s _s_e_t _i_f _i_t _s_t_o_p_s _b_e_c_a_u_s_e _t_h_e _s_t_o_r_e
  236.                _i_n_t_o _s_b _f_a_i_l_s.
  237.  
  238.           _i==_i_n_s..ggeett(()).
  239.                Extracts a character and returns it.  _i is EEOOFF if extraction
  240.                encounters end of file.  iiooss::::ffaaiillbbiitt is never set.
  241.  
  242.           _i_n_s_p==&&_i_n_s..ggeettlliinnee((_p_t_r,,_l_e_n,,_d_e_l_i_m))
  243.                Does the same thing as _i_n_s..ggeett((_p_t_r,,_l_e_n,,_d_e_l_i_m)) _w_i_t_h _t_h_e
  244.                _e_x_c_e_p_t_i_o_n _t_h_a_t _i_t _e_x_t_r_a_c_t_s _a _t_e_r_m_i_n_a_t_i_n_g _d_e_l_i_m _c_h_a_r_a_c_t_e_r
  245.                _f_r_o_m _i_n_s.  _I_n _c_a_s_e _d_e_l_i_m _o_c_c_u_r_s _w_h_e_n _e_x_a_c_t_l_y _l_e_n _c_h_a_r_a_c_t_e_r_s
  246.                _h_a_v_e _b_e_e_n _e_x_t_r_a_c_t_e_d, _t_e_r_m_i_n_a_t_i_o_n _i_s _t_r_e_a_t_e_d _a_s _b_e_i_n_g _d_u_e _t_o
  247.                _t_h_e _a_r_r_a_y _b_e_i_n_g _f_i_l_l_e_d, _a_n_d _t_h_i_s _d_e_l_i_m _i_s _l_e_f_t _i_n _i_n_s.
  248.  
  249.           _i_n_s_p==&&_i_n_s..iiggnnoorree((_n,,_d))
  250.                Extracts and throws away up to _n characters.  Extraction
  251.                stops prematurely if _d is extracted or end of file is
  252.                reached.  If _d is EEOOFF it can never cause termination.
  253.  
  254.           _i_n_s_p==&&_i_n_s..rreeaadd((_p_t_r,,_n))
  255.                Extracts _n characters and stores them in the array beginning
  256.                at _p_t_r.  If end of file is reached before _n characters have
  257.                been extracted, rreeaadd stores whatever it can extract and sets
  258.                iiooss::::ffaaiillbbiitt.  The number of characters extracted can be
  259.                determined via _i_n_s..ggccoouunntt(()).
  260.  
  261.    OOtthheerr MMeemmbbeerrss
  262.           _i==_i_n_s..ggccoouunntt(())
  263.                Returns the number of characters extracted by the last
  264.                unformatted input function.  Formatted input functions may
  265.                call unformatted input functions and thereby reset this
  266.                number.
  267.  
  268.           _i==_i_n_s..ppeeeekk(())
  269.                Begins by calling _i_n_s..iippffxx((11)).  _I_f _t_h_a_t _c_a_l_l _r_e_t_u_r_n_s _z_e_r_o _o_r
  270.                _i_f _i_n_s _i_s _a_t _e_n_d _o_f _f_i_l_e, _i_t _r_e_t_u_r_n_s EEOOFF.  _O_t_h_e_r_w_i_s_e _i_t
  271.                _r_e_t_u_r_n_s _t_h_e _n_e_x_t _c_h_a_r_a_c_t_e_r _w_i_t_h_o_u_t _e_x_t_r_a_c_t_i_n_g _i_t.
  272.  
  273.           _i_n_s_p==&&_i_n_s..ppuuttbbaacckk((_c))
  274.                Attempts to back up _i_n_s..rrddbbuuff(()).  _c _m_u_s_t _b_e _t_h_e _c_h_a_r_a_c_t_e_r
  275.                _b_e_f_o_r_e _i_n_s..rrddbbuuff(())'_s _g_e_t _p_o_i_n_t_e_r.  (_U_n_l_e_s_s _o_t_h_e_r _a_c_t_i_v_i_t_y _i_s
  276.                _m_o_d_i_f_y_i_n_g _i_n_s..rrddbbuuff(()) _t_h_i_s _i_s _t_h_e _l_a_s_t _c_h_a_r_a_c_t_e_r _e_x_t_r_a_c_t_e_d
  277.                _f_r_o_m _i_n_s.)  _I_f _i_t _i_s _n_o_t, _t_h_e _e_f_f_e_c_t _i_s _u_n_d_e_f_i_n_e_d.  ppuuttbbaacckk
  278.                _m_a_y _f_a_i_l (_a_n_d _s_e_t _t_h_e _e_r_r_o_r _s_t_a_t_e).  _A_l_t_h_o_u_g_h _i_t _i_s _a _m_e_m_b_e_r
  279.                _o_f iissttrreeaamm, ppuuttbbaacckk _n_e_v_e_r _e_x_t_r_a_c_t_s _c_h_a_r_a_c_t_e_r_s, _s_o _i_t _d_o_e_s
  280.                _n_o_t _c_a_l_l _i_p_f_x.  _I_t _w_i_l_l, _h_o_w_e_v_e_r, _r_e_t_u_r_n _w_i_t_h_o_u_t _d_o_i_n_g
  281.                _a_n_y_t_h_i_n_g _i_f _t_h_e _e_r_r_o_r _s_t_a_t_e _i_s _n_o_n-_z_e_r_o.
  282.  
  283.           _i==&&_i_n_s..ssyynncc(())
  284.                Establishes consistency between internal data structures and
  285.                the external source of characters.  Calls _i_n_s..rrddbbuuff(())--
  286.                >>ssyynncc(()), _w_h_i_c_h _i_s _a _v_i_r_t_u_a_l _f_u_n_c_t_i_o_n, _s_o _t_h_e _d_e_t_a_i_l_s _d_e_p_e_n_d
  287.                _o_n _t_h_e _d_e_r_i_v_e_d _c_l_a_s_s.  _R_e_t_u_r_n_s EEOOFF _t_o _i_n_d_i_c_a_t_e _e_r_r_o_r_s.
  288.  
  289.           _i_n_s>>>>mmaanniipp
  290.                Equivalent to mmaanniipp((_i_n_s)).  _S_y_n_t_a_c_t_i_c_a_l_l_y _t_h_i_s _l_o_o_k_s _l_i_k_e _a_n
  291.                _e_x_t_r_a_c_t_o_r _o_p_e_r_a_t_i_o_n, _b_u_t _s_e_m_a_n_t_i_c_a_l_l_y _i_t _d_o_e_s _a_n _a_r_b_i_t_r_a_r_y
  292.                _o_p_e_r_a_t_i_o_n _r_a_t_h_e_r _t_h_a_n _c_o_n_v_e_r_t_i_n_g _a _s_e_q_u_e_n_c_e _o_f _c_h_a_r_a_c_t_e_r_s
  293.                _a_n_d _s_t_o_r_i_n_g _t_h_e _r_e_s_u_l_t _i_n mmaanniipp.  _A _p_r_e_d_e_f_i_n_e_d _m_a_n_i_p_u_l_a_t_o_r,
  294.                _w_s, _i_s _d_e_s_c_r_i_b_e_d _b_e_l_o_w.
  295.  
  296.    MMeemmbbeerr ffuunnccttiioonnss rreellaatteedd ttoo ppoossiittiioonniinngg
  297.           _i_n_s_p==&&_i_n_s..sseeeekkgg((_o_f_f,,_d_i_r))
  298.                Repositions _i_n_s..rrddbbuuff(())'_s _g_e_t _p_o_i_n_t_e_r.  _S_e_e ssbbuuff..ppuubb(_3_C) _f_o_r
  299.                _a _d_i_s_c_u_s_s_i_o_n _o_f _p_o_s_i_t_i_o_n_i_n_g.
  300.  
  301.           _i_n_s_p==&&_i_n_s..sseeeekkgg((_p_o_s))
  302.                Repositions _i_n_s..rrddbbuuff(())'_s _g_e_t _p_o_i_n_t_e_r.  _S_e_e ssbbuuff..ppuubb(_3_C) _f_o_r
  303.                _a _d_i_s_c_u_s_s_i_o_n _o_f _p_o_s_i_t_i_o_n_i_n_g.
  304.  
  305.           _p_o_s==_i_n_s..tteellllgg(())
  306.                The current position of iiooss..rrddbbuuff(())'s get pointer.  See
  307.                ssbbuuff..ppuubb(3C) for a discussion of positioning.
  308.  
  309.    MMaanniippuullaattoorr
  310.           _i_n_s>>>>_w_s
  311.                Extracts whitespace characters.
  312.  
  313.           _i_n_s>>>>_d_e_c
  314.                Sets the conversion base format flag to 10.  See iiooss(3C).
  315.  
  316.           _i_n_s>>>>_h_e_x
  317.                Sets the conversion base format flag to 16.  See iiooss(3C).
  318.  
  319.           _i_n_s>>>>_o_c_t
  320.                Sets the conversion base format flag to 8.  See iiooss(3C).
  321.  
  322. SSEEEE AALLSSOO
  323.      iiooss(3C), ssbbuuff..ppuubb(3C), mmaanniipp(3C)
  324.  
  325.      This man page is available only online.
  326.